package com.hb.common.service;

import com.hb.common.dto.Database;
import com.hb.common.dto.DatabaseDto;
import com.hb.common.util.Result;

import java.util.List;

/**
 * 数据库
 */
public interface DatabaseService {

    /**
     * 获取数据库列表及其他信息
     */
    Result<List<DatabaseDto>> selectDtoList();

    /**
     * 获取数据库选择列表
     */
    Result<List<DatabaseDto>> selectSelectionList(String dbType);

    /**
     * 获取数据库列表
     */
    Result<List<Database>> selectList();

    /**
     * 保存或更新数据库
     */
    Result<Boolean> insertOrUpdate(Database database);

    /**
     * 根据id获取数据库
     */
    Result<Database> selectById(Integer id);

    /**
     * 根据id获取数据库（解密密码）
     */
    Result<Database> selectDecryptPasswordById(Integer id);

    /**
     * 删除数据库
     */
    Result<Boolean> delete(List<Integer> ids);

    /**
     * 更新数据库备份文件数量
     */
    Result<Boolean> updateFileCount(Integer id, Integer maxFileNum);

}
